package controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.logging.Logger;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

import model.AreaModel;
import model.AsistenteModel;
import model.BienModel;
import model.JefeModel;
import model.PersonaModel;
import model.UsuarioModel;
import entidad.Area;
import entidad.AsistenteAdministrativo;
import entidad.Bien;
import entidad.Detalle_Area_Persona;
import entidad.JefeAdministrativo;
import entidad.Persona;
import entidad.Usuario;
import view.JDBuscarAsistente;
import view.JDBuscarBien;
import view.JDBuscarBien02;
import view.JDBuscarJefe;
import view.JDBuscarUsuario;
import view.JFrmBien;
import view.JFrmJefe;
import view.JFrmPecosaAsignacion;

public class JDBuscaBienController02 implements ActionListener,MouseListener {
	private JDBuscarBien02 jdBuscaBien;
	private JFrmPecosaAsignacion jfrmBien;
	private BienModel bienModel;
	private AreaModel areaModel;
	private PersonaModel personaModel;
	private ImageIcon foto;
	
	public JFrmPecosaAsignacion getJfrmBien() {
		return jfrmBien;
	}

	public void setJfrmBien(JFrmPecosaAsignacion jfrmBien) {
		this.jfrmBien = jfrmBien;
	}

	public JDBuscaBienController02(JDBuscarBien02 jdBuscaBien) {
			this.jdBuscaBien=jdBuscaBien;
			areaModel= new AreaModel();
			bienModel = new BienModel();
			personaModel= new PersonaModel();
		}

	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==jdBuscaBien.btnCapturar){
			capturar();
		}
	}

	private void capturar() {
		String codigo =jdBuscaBien.txtCodigo.getText().trim();
		if(codigo.length()!=0){
			Bien persona=bienModel.buscaBien(codigo);
			jfrmBien.txtCodigoBien.setText(persona.getIdBien());
			jfrmBien.txtDescripcion.setText(persona.getDescripcionBien());
			jfrmBien.txtMaterial.setText(persona.getMaterialBien());
			
			String valor=String.valueOf(persona.getValor());
			
			jfrmBien.txtValor.setText(valor);
			
			int codTipo= persona.getIdEstado();
			if(codTipo==1){
				jfrmBien.txtEstado.setText("Bueno");
			}else if(codTipo==2){
				jfrmBien.txtEstado.setText("Regular");
			}if(codTipo==3){
				jfrmBien.txtEstado.setText("Malo");
			}
			jdBuscaBien.dispose();
		}else{
			JOptionPane.showMessageDialog(jdBuscaBien, "Elija de la lista");
		}
		
	}
	
	public void llenarTabla(){
		DefaultTableModel modelo = (DefaultTableModel) jdBuscaBien.table.getModel();
		
		int filas = jdBuscaBien.table.getRowCount();
		for (int i = 0; filas > i; i++) {
			modelo.removeRow(0);
		}
		
		ArrayList<Bien> lista=bienModel.listaBien();

		for (Bien c: lista) {
			
			String nom="";
			ArrayList<Area>listaArea01 = areaModel.listaArea();
			for (Area area:listaArea01) {
				if(area.getIdArea().equals(c.getIdArea())){
				 nom= area.getDescripcionArea();
				}
				
			}
			Object fila[] = { c.getIdBien(), c.getDescripcionBien(), c.getMaterialBien(),
					c.getProcedenciaBien(), nom,
					c.getValor()};
			modelo.addRow(fila);
		}
	}

	@Override
	public void mouseClicked(MouseEvent arg0) {
		if (jdBuscaBien.table.getSelectedRows().length > 0) {
			int row = jdBuscaBien.table.getSelectedRow();
			String codigo =(String) jdBuscaBien.table.getValueAt(row, 0);

			jdBuscaBien.txtCodigo.setText(codigo);
		}
		
	}

	@Override
	public void mouseEntered(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseExited(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mousePressed(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseReleased(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	
	

}
